home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Diamond Collection / The Diamond Collection (Software Vault)(Digital Impact).ISO / cdr37 / pwaatb10.zip / AMI-UPLD.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1995-01-27  |  7KB  |  357 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     Integer  INTEGER004
  23.     Integer  INTEGER005
  24.     Integer  TINTEGER006(10)
  25.     Integer  INTEGER007
  26.     Integer  INTEGER008
  27.     Integer  INTEGER009
  28.     Integer  INTEGER010
  29.     Integer  INTEGER011
  30.     Integer  INTEGER012
  31.     String   STRING001
  32.     String   STRING002
  33.     String   TSTRING003(10)
  34.     String   TSTRING004(10)
  35.     String   STRING005
  36.     String   STRING006
  37.     String   STRING007
  38.     String   TSTRING008(8)
  39.     String   STRING009
  40.     String   STRING010
  41.     String   STRING011
  42.     String   STRING012
  43.     String   STRING013
  44.     String   STRING014
  45.     String   STRING015
  46.     String   STRING016
  47.     String   STRING017
  48.     String   STRING018
  49.     String   STRING019
  50.     String   STRING020
  51.     String   STRING021
  52.     String   STRING022
  53.     String   STRING023
  54.     String   STRING024
  55.     String   STRING025
  56.     String   STRING026
  57.     String   STRING027
  58.     String   STRING028
  59.     String   STRING029
  60.     String   STRING030
  61.     String   STRING031
  62.     String   STRING032
  63.     String   STRING033
  64.     String   STRING034
  65.     String   STRING035
  66.     String   STRING036
  67.     String   STRING037
  68.     String   STRING038
  69.     String   STRING039
  70.     String   STRING040
  71.     String   STRING041
  72.     String   STRING042
  73.     String   STRING043
  74.     String   STRING044
  75.     String   STRING045
  76.     String   STRING046
  77.     String   STRING047
  78.     String   STRING048
  79.     String   STRING049
  80.     String   STRING050
  81.     String   STRING051
  82.     String   STRING052
  83.     String   STRING053
  84.     String   STRING054
  85.     Double   DOUBLE001
  86.     Double   DOUBLE002
  87.     Double   DOUBLE003
  88.     Double   TDOUBLE004(10)
  89.     Double   TDOUBLE005(10)
  90.  
  91. ;------------------------------------------------------------------------------
  92.  
  93.     If (!STRING001) STRING001 = "" ; PPLC BUG!
  94.     INTEGER001 = 300
  95.     STRING002 = Lower(ReadLine(PCBDat(), 2)) + Lower(ReadLine(PCBDat(), 94))
  96.     For INTEGER002 = 1 To Len(STRING002) Step 2
  97.         INTEGER001 = Left(INTEGER001 * Asc(Mid(STRING002, INTEGER002, 1)), 6)
  98.     Next
  99.     StartDisp 1
  100.     FreshLine
  101.     Print "@X01[@X05Updating Top Uploaders - Wait "
  102.     If (Exist(PPEPath() + PPEName() + ".CNF")) Goto LABEL001
  103.     FreshLine
  104.     Print "@X04FATAL ERROR@X0C: @X04CONFIGURATION FILE IS MISSING@X0C!"
  105.     Log "AMi-X All Time Top Uploaders - CNF File Is Missing!", 0
  106.     End
  107.     Goto LABEL002
  108.     :LABEL001
  109.     FOpen 1, PPEPath() + PPEName() + ".CNF", 0, 0
  110.     :LABEL002
  111.     For INTEGER007 = 1 To 8
  112.         FGet 1, TSTRING008(INTEGER007)
  113.     Next
  114.     FClose 1
  115.     INTEGER004 = FileInf(TSTRING008(1), 4)
  116.     INTEGER003 = INTEGER004 / 400
  117.     Redim TDOUBLE005, INTEGER003
  118.     Redim TDOUBLE004, INTEGER003
  119.     Redim TSTRING003, INTEGER003
  120.     Redim TSTRING004, INTEGER003
  121.     Redim TINTEGER006, INTEGER003
  122.     For INTEGER008 = 1 To INTEGER003
  123.         GetAltUser INTEGER008
  124.         TDOUBLE005(INTEGER008) = U_Bul()
  125.         TSTRING003(INTEGER008) = Mixed(U_Name())
  126.         TSTRING004(INTEGER008) = U_City
  127.         TDOUBLE004(INTEGER008) = U_Ful()
  128.         DOUBLE002 = DOUBLE002 + U_Bul()
  129.         DOUBLE003 = DOUBLE003 + U_Ful()
  130.         FReAltUser
  131.     Next
  132.     Print "@X05. "
  133.     Sort TDOUBLE005, TINTEGER006
  134.     STRING013 = "@X01|  @X06AMi-X All Time Top Uploaders v1.00      Code And Design By: Timecop [PWA]  @X01|"
  135.     INTEGER010 = Random(Time())
  136.     For INTEGER010 = 1 To Len(STRING013) Step 2
  137.         INTEGER009 = INTEGER009 + Asc(Mid(STRING013, INTEGER010, 1))
  138.     Next
  139.     If (INTEGER009 <> 3530) End
  140.     If (Exist(PPEPath() + PPEName())) Delete PPEPath() + PPEName()
  141.     FCreate 1, PPEPath() + PPEName(), 1, 0
  142.     FPutLn 1, "@X01.-----------------------------------------------------------------------------."
  143.     FPutLn 1, STRING013
  144.     FPutLn 1, "@X01|-----------------------------------------------------------------------------|"
  145.     FPutLn 1, "@X01|  @X07#  Name/Handle               Location/Group           Bytes         Files  @X01|"
  146.     FPutLn 1, "@X01|====@X05-@X01=========================@X05-@X01========================@X05-@X01=============@X05-@X01=======|"
  147.     Print "@X05. "
  148.     INTEGER008 = 0
  149.     While (((1 < 0) && (INTEGER008 >= ReadLine(PPEPath() + PPEName() + ".CNF", 2) - 1)) || ((1 >= 0) && (INTEGER008 <= ReadLine(PPEPath() + PPEName() + ".CNF", 2) - 1))) Do
  150.         STRING006 = TSTRING003(TINTEGER006(INTEGER003 - INTEGER008))
  151.         STRING005 = TSTRING004(TINTEGER006(INTEGER003 - INTEGER008))
  152.         DOUBLE001 = TDOUBLE005(TINTEGER006(INTEGER003 - INTEGER008))
  153.         INTEGER005 = TDOUBLE004(TINTEGER006(INTEGER003 - INTEGER008))
  154.         If (INTEGER008 <= 8) Then
  155.             STRING007 = "@X01| " + TSTRING008(3) + "0" + String(Right(INTEGER008 + 1, 1)) + ". "
  156.         Else
  157.             STRING007 = "@X01| " + TSTRING008(3) + String(Right(INTEGER008 + 1, 2)) + ". "
  158.         Endif
  159.         STRING007 = STRING007 + TSTRING008(4) + Left(STRING006, 25) + " " + TSTRING008(5) + Left(STRING005, 24) + " "
  160.         STRING009 = DOUBLE001
  161.         STRING014 = Right(STRING009, 3)
  162.         STRING015 = Right(STRING009, 6)
  163.         STRING016 = Left(STRING015, 3)
  164.         STRING021 = ","
  165.         If (STRING016 == "   ") STRING021 = " "
  166.         STRING017 = Right(STRING009, 9)
  167.         STRING018 = Left(STRING017, 3)
  168.         STRING022 = ","
  169.         If (STRING018 == "   ") STRING022 = " "
  170.         STRING019 = Right(STRING009, 11)
  171.         STRING020 = Left(STRING019, 2)
  172.         STRING023 = ","
  173.         If ((STRING020 == " ") || (STRING020 == "  ")) STRING023 = " "
  174.         STRING009 = STRING020 + STRING023 + STRING018 + STRING022 + STRING016 + STRING021 + STRING014
  175.         STRING009 = Trim(STRING009, " ")
  176.         If (STRING009 == "0") STRING009 = ""
  177.         STRING010 = INTEGER005
  178.         STRING024 = Right(STRING010, 3)
  179.         STRING025 = Right(STRING010, 6)
  180.         STRING026 = Left(STRING025, 3)
  181.         STRING031 = ","
  182.         If (STRING026 == "   ") STRING031 = " "
  183.         STRING027 = Right(STRING010, 9)
  184.         STRING028 = Left(STRING027, 3)
  185.         STRING032 = ","
  186.         If (STRING028 == "   ") STRING032 = " "
  187.         STRING029 = Right(STRING010, 11)
  188.         STRING030 = Left(STRING029, 2)
  189.         STRING033 = ","
  190.         If ((STRING030 == " ") || (STRING030 == "  ")) STRING033 = " "
  191.         STRING010 = STRING030 + STRING033 + STRING028 + STRING032 + STRING026 + STRING031 + STRING024
  192.         STRING010 = Trim(STRING010, " ")
  193.         If (STRING010 == "0") STRING010 = ""
  194.         STRING007 = STRING007 + TSTRING008(6) + Right(STRING009, 13) + " " + TSTRING008(7) + Right(STRING010, 6) + " @X01|"
  195.         FPutLn 1, STRING007
  196.         INTEGER008 = INTEGER008 + 1
  197.     EndWhile
  198.     Print "@X05. "
  199.     STRING011 = DOUBLE002
  200.     STRING034 = Right(STRING011, 3)
  201.     STRING035 = Right(STRING011, 6)
  202.     STRING036 = Left(STRING035, 3)
  203.     STRING041 = ","
  204.     If (STRING036 == "   ") STRING041 = " "
  205.     STRING037 = Right(STRING011, 9)
  206.     STRING038 = Left(STRING037, 3)
  207.     STRING042 = ","
  208.     If (STRING038 == "   ") STRING042 = " "
  209.     STRING039 = Right(STRING011, 11)
  210.     STRING040 = Left(STRING039, 2)
  211.     STRING043 = ","
  212.     If ((STRING040 == " ") || (STRING040 == "  ")) STRING043 = " "
  213.     STRING011 = STRING040 + STRING043 + STRING038 + STRING042 + STRING036 + STRING041 + STRING034
  214.     STRING011 = Trim(STRING011, " ")
  215.     If (STRING011 == "0") STRING011 = ""
  216.     STRING012 = DOUBLE003
  217.     STRING044 = Right(STRING012, 3)
  218.     STRING045 = Right(STRING012, 6)
  219.     STRING046 = Left(STRING045, 3)
  220.     STRING051 = ","
  221.     If (STRING046 == "   ") STRING051 = " "
  222.     STRING047 = Right(STRING012, 9)
  223.     STRING048 = Left(STRING047, 3)
  224.     STRING052 = ","
  225.     If (STRING048 == "   ") STRING052 = " "
  226.     STRING049 = Right(STRING012, 11)
  227.     STRING050 = Left(STRING049, 2)
  228.     STRING053 = ","
  229.     If ((STRING050 == " ") || (STRING050 == "  ")) STRING053 = " "
  230.     STRING012 = STRING050 + STRING053 + STRING048 + STRING052 + STRING046 + STRING051 + STRING044
  231.     STRING012 = Trim(STRING012, " ")
  232.     If (STRING012 == "0") STRING012 = ""
  233.     STRING054 = "@X01|-----------------------------@X8C<UNREGISTERED COPY>@X01-----------------------------| "
  234.     INTEGER012 = Random(Time())
  235.     For INTEGER012 = 1 To Len(STRING054) Step 3
  236.         INTEGER011 = INTEGER011 + Asc(Mid(STRING054, INTEGER012, 1))
  237.     Next
  238.     If (INTEGER011 <> 1692) Then
  239.         FClose 1
  240.         Delete PPEPath() + PPEName()
  241.         End
  242.     Endif
  243.     If (INTEGER001 <> ReadLine(PPEPath() + PPEName() + ".CNF", 8)) Then
  244.         FPutLn 1, STRING054
  245.     Else
  246.         FPutLn 1, "@X01|-----------------------------------------------------------------------------|"
  247.     Endif
  248.     FPutLn 1, "@X01|     @X06Total Bytes Uploaded: " + TSTRING008(6) + STRING011 + "@POS:46@@X06Total Files Uploaded: " + TSTRING008(7) + STRING012 + "@POS:79@@X01|"
  249.     FPutLn 1, "@X01`-----------------------------------------------------------------------------'"
  250.     FClose 1
  251.     Print " @X05Done!@X01]"
  252.     Log "AMi-X All Time Top Uploaders - Updated Successfuly", 0
  253.     STRING001 = "GO AHEAD YOU LAME FUCKING BITCH! TRY TO DECOMPILE THIS THING!"
  254.     End
  255.  
  256. ;------------------------------------------------------------------------------
  257. ;
  258. ; Usage report (before postprocessing)
  259. ;
  260. ; ■ Statements used :
  261. ;
  262. ;    4       End
  263. ;    19      Goto 
  264. ;    107     Let 
  265. ;    6       Print 
  266. ;    29      If 
  267. ;    1       FCreate 
  268. ;    1       FOpen 
  269. ;    3       FClose 
  270. ;    1       FGet 
  271. ;    10      FPutLn 
  272. ;    1       StartDisp 
  273. ;    2       Delete 
  274. ;    2       Log 
  275. ;    2       FreshLine
  276. ;    5       Redim 
  277. ;    1       GetAltUser 
  278. ;    1       Sort 
  279. ;    1       FReAltUser
  280. ;
  281. ;
  282. ; ■ Functions used :
  283. ;
  284. ;    1       *
  285. ;    1       /
  286. ;    76      +
  287. ;    6       -
  288. ;    20      ==
  289. ;    3       <>
  290. ;    6       <
  291. ;    7       <=
  292. ;    12      >=
  293. ;    12      !
  294. ;    12      &&
  295. ;    10      ||
  296. ;    6       Len(
  297. ;    2       Lower()
  298. ;    3       Mid()
  299. ;    15      Left()
  300. ;    20      Right()
  301. ;    3       Asc()
  302. ;    4       Trim()
  303. ;    2       Random()
  304. ;    2       Time()
  305. ;    1       U_Name()
  306. ;    2       U_Ful()
  307. ;    2       U_Bul()
  308. ;    2       String()
  309. ;    2       PCBDat()
  310. ;    9       PPEPath()
  311. ;    5       ReadLine()
  312. ;    2       Exist()
  313. ;    1       FileInf()
  314. ;    9       PPEName()
  315. ;    1       Mixed()
  316. ;
  317. ;------------------------------------------------------------------------------
  318. ;
  319. ; Analysis flags : Rd
  320. ;
  321. ; R - Read user ■ 5
  322. ;     User records are read, this may signify that someone wants to get
  323. ;     various informations about a user (for example his password), but
  324. ;     this may also be normal for a program accessing user records (for
  325. ;     example a User Editor)
  326. ;     ■ Search for : GETALTUSER
  327. ;
  328. ; d - Access PCBOARD.DAT ■ 2
  329. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  330. ;     for many PPE so they can find various informations on the system
  331. ;     (system paths, max number of lines in messages, ...) but it may also
  332. ;     be a way to gather vital informations.
  333. ;     ■ Search for : PCBDAT()
  334. ;
  335. ;
  336. ;------------------------------------------------------------------------------
  337. ;
  338. ;     One or more PPLC bugs were found, this is not a PPLX error, but PPLX is  
  339. ;     reporting the error ;)  Some statements  like VAR = !!!!10, VAR = !0*!0  
  340. ;     or similar things are not handled  correctly by PPLC, some may use this  
  341. ;     to  avoid a  correct decompilation...  This doesn't mean that there  is  
  342. ;     actually an error, but the probability of error is high...               
  343. ;     ■ Search for : PPLC BUG
  344. ;
  345. ;------------------------------------------------------------------------------
  346. ;
  347. ; Postprocessing report
  348. ;
  349. ;    5       For/Next
  350. ;    1       While/EndWhile
  351. ;    3       If/Then or If/Then/Else
  352. ;    0       Select Case
  353. ;
  354. ;------------------------------------------------------------------------------
  355. ;                 AEGiS Corp - Break the routines, code against the machines!
  356. ;------------------------------------------------------------------------------
  357.